{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "![](https://raw.githubusercontent.com/Qinbf/tf-model-zoo/master/README_IMG/01.jpg)\n",
    "AI MOOC： **www.ai-xlab.com**  \n",
    "如果你也是AI爱好者，可以添加我的微信一起交流：**sdxxqbf**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn.metrics import classification_report\n",
    "from sklearn import svm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18ef979e400>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 载入数据\n",
    "data = np.genfromtxt(\"LR-testSet2.txt\", delimiter=\",\")\n",
    "x_data = data[:,:-1]\n",
    "y_data = data[:,-1]\n",
    "    \n",
    "def plot():\n",
    "    x0 = []\n",
    "    x1 = []\n",
    "    y0 = []\n",
    "    y1 = []\n",
    "    # 切分不同类别的数据\n",
    "    for i in range(len(x_data)):\n",
    "        if y_data[i]==0:\n",
    "            x0.append(x_data[i,0])\n",
    "            y0.append(x_data[i,1])\n",
    "        else:\n",
    "            x1.append(x_data[i,0])\n",
    "            y1.append(x_data[i,1])\n",
    "\n",
    "    # 画图\n",
    "    scatter0 = plt.scatter(x0, y0, c='b', marker='o')\n",
    "    scatter1 = plt.scatter(x1, y1, c='r', marker='x')\n",
    "    #画图例\n",
    "    plt.legend(handles=[scatter0,scatter1],labels=['label0','label1'],loc='best')\n",
    "    \n",
    "plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n",
       "  decision_function_shape=None, degree=3, gamma='auto', kernel='rbf',\n",
       "  max_iter=-1, probability=False, random_state=None, shrinking=True,\n",
       "  tol=0.001, verbose=False)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# fit the model\n",
    "# C和gamma\n",
    "model = svm.SVC(kernel='rbf')\n",
    "model.fit(x_data, y_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8050847457627118"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.score(x_data,y_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x18ef97838d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 获取数据值所在的范围\n",
    "x_min, x_max = x_data[:, 0].min() - 1, x_data[:, 0].max() + 1\n",
    "y_min, y_max = x_data[:, 1].min() - 1, x_data[:, 1].max() + 1\n",
    "\n",
    "# 生成网格矩阵\n",
    "xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02),\n",
    "                     np.arange(y_min, y_max, 0.02))\n",
    "\n",
    "z = model.predict(np.c_[xx.ravel(), yy.ravel()])# ravel与flatten类似，多维数据转一维。flatten不会改变原始数据，ravel会改变原始数据\n",
    "z = z.reshape(xx.shape)\n",
    "\n",
    "# 等高线图\n",
    "cs = plt.contourf(xx, yy, z)\n",
    "plot() \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
